package day22;

// 小易打怪升级
// 只能按照怪兽出现的顺序打怪，不能挑挑拣拣

import java.util.Scanner;

public class Main1 {
    // 取最大公约数:辗转相除法
    private static int divisor(int a, int b) {
        while (a%b != 0) {
            int c = a%b;
            a = b;
            b = c;
        }
        // 说明此时a%b==0,此时b就是最大公约数
        return b;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int boss = in.nextInt(); // 怪物个数
            int strength = in.nextInt();  // 初始能力
            int[] defense = new int[boss]; // 怪物防御能力
            for (int i = 0; i < boss; i++) {
                defense[i] = in.nextInt();
                // 边输入边判断计算
                if(strength >= defense[i]) {
                    // 可以获得完整的抵御能力
                    strength += defense[i];
                } else {
                    // 说明：只能获得最大公约数的加持
                    int buff = divisor(strength,defense[i]);
                    strength += buff;
                }
            }
            System.out.println(strength);
        }
    }
}

